home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Forever 4
/
Atari Forever 4.zip
/
Atari Forever 4.iso
/
PD_THEMA
/
CPX
/
GEMSOUND
/
SOURCE
/
MAKE_CPX.C
< prev
next >
Wrap
C/C++ Source or Header
|
1998-03-14
|
3KB
|
98 lines
/* MAKE_CPX.C
* Erzeugt einen Header und linkt ihn mit SND_CPX.CP
* zum fertigen SND_CPX.CPX.
*
* aus: GEM Sound
* TOS Magazin
*
* (c)1992 by Richard Kurz
* Vogelherdbogen 62
* 7992 Tettnang
* Fido 2:241/7232
*
* Erstellt mit Pure C
*
* ACHTUNG!!!! Alle Dateien müssen im gleichen Ordner sein!!!!!
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tos.h>
#include <aes.h>
#include <portab.h>
#include "cpx.h"
#include "icon.icn" /* Das Icon. */
/* Nur zur Beruhigung von Pure C. */
struct foobar
{
WORD dummy;
WORD *image;
};
/* Der Kopf des Ganzen. */
CPXHEAD header;
void main(void)
/* Macht aus SND_CPX.CP ein CPX-Modul. */
{
WORD i; /* Hilfsvariable. */
FILE *fp, /* Datei-Zeiger. */
*fp2;
header.magic=100; /* Dieser Wert muß immer 100 sein. */
header.flags.ram_resident=0;/* Resident oder nicht? */
header.flags.boot_init=1; /* Soll das Modul bei der XControl- */
/* Initialisierung aufgerufen */
/* werden? (cpx_init). */
header.flags.set_only =0; /* Wenn set_only 1 ist, wird das */
/* Modul nicht in die CPX-Liste */
/* eingetragen. */
header.cpx_id=(long)'GSND'; /* ID-String des CPX-Moduls. Sollte */
/* für jedes Modul einzigartig sein!*/
header.cpx_version=0x0100; /* Versions-Nr. des CPX-Moduls. */
strcpy(header.i_text,"by R. Kurz"); /* Text unter dem Icon. */
/* Das Icon wird in den Header kopiert. */
for(i=0;i<DATASIZE;i++)
header.icon[i]=icon[i];
header.i_info.i_color=1; /* Farbe des Icons. */
header.i_info.reserved=0;
header.i_info.i_char=0;
strcpy(header.text, /* Titel des CPX-Moduls. */
"GEM Sound");
header.t_info.c_board=1;
header.t_info.c_text=1; /* Farbe des Titels. */
header.t_info.pattern=8;
header.t_info.c_back=0;
/* Wir basteln uns ein CPX-Modul. */
puts("SND_CPX.CPX ist in Arbeit!");
fp=fopen("snd_cpx.cpx","wb");
if(fp==NULL)
{
puts("snd_cpx.cpx kann nicht erzeugt werden!!");
exit(1);
}
fwrite(&header,sizeof(CPXHEAD),1,fp);
fp2=fopen("snd_cpx.cp","rb");
if(fp2==NULL)
{
puts("snd_cpx.cp kann nicht geöffnet werden!!");
exit(1);
}
while(!feof(fp2))
{
i=getc(fp2);
if(i==EOF) break;
putc(i,fp);
}
puts("Fertig!");
Cconout('\a');
fclose(fp);
fclose(fp2);
exit(0);
}